Web Development Common Matchers (toBe, toEqual, toContain, toThrow, ইত্যাদি) গাইড ও নোট

239

JasmineJS এর matchers এমন ফাংশন যা আপনাকে আপনার টেস্টের মধ্যে অ্যাসারশন (assertion) করতে সাহায্য করে। অ্যাসারশন এর মাধ্যমে আপনি পরীক্ষিত মানকে প্রত্যাশিত মানের সাথে তুলনা করতে পারেন। JasmineJS এ বিভিন্ন ধরনের matchers রয়েছে, যা বিভিন্ন ধরণের চেক করতে ব্যবহৃত হয়, যেমন সঠিক মান, অবজেক্টের গঠন, এক্সেপশন এবং আরও অনেক কিছু।


Common Matchers

toBe()

toBe() matcherটি ব্যবহার করা হয় যখন আপনি মানের সঠিকতা পরীক্ষা করতে চান। এটি গড়মান (primitive) টাইপের মানের জন্য উপযুক্ত, যেমন স্ট্রিং, নাম্বার, বুলিয়ান ইত্যাদি। toBe() ব্যবহার করলে মানটি তুলনা করা হবে ঠিক সেই ধরনের ও মানের সাথে।

ব্যবহার:

it("should check for exact equality", function() {
  const value = 5;
  expect(value).toBe(5);  // এখানে 'value' এবং ৫ মানে একেবারে সমান
});

এখানে value এবং 5 একই ধরণের এবং সমান হওয়ায় টেস্টটি পাস করবে।

toEqual()

toEqual() matcherটি ব্যবহৃত হয় যখন আপনি অবজেক্ট বা অ্যারের মধ্যে সমতা যাচাই করতে চান। toEqual() হল গভীর সমতা পরীক্ষা, অর্থাৎ এটি অবজেক্টের ভেতরের কন্টেন্টগুলিও তুলনা করে।

ব্যবহার:

it("should check for deep equality", function() {
  const obj1 = { a: 1, b: 2 };
  const obj2 = { a: 1, b: 2 };
  expect(obj1).toEqual(obj2);  // এখানে obj1 এবং obj2 এর কন্টেন্ট সমান
});

এখানে obj1 এবং obj2 এর ভেতরের কন্টেন্ট একই হওয়ায় toEqual() matcher টি তাদের সমান বলে গণ্য করবে।

toContain()

toContain() matcherটি ব্যবহার করা হয় যখন আপনি একটি অ্যারে বা স্ট্রিং এ কোনো নির্দিষ্ট মান বা উপাদান আছে কিনা তা পরীক্ষা করতে চান।

ব্যবহার:

it("should check if an array contains a value", function() {
  const fruits = ['apple', 'banana', 'cherry'];
  expect(fruits).toContain('banana');  // এখানে 'banana' অ্যারে তে আছে
});

এখানে fruits অ্যারে তে 'banana' আছে, তাই টেস্টটি পাস করবে।

toThrow()

toThrow() matcherটি ব্যবহার করা হয় যখন আপনি একটি ফাংশন রান করানোর পর কোন exception বা এরর ঘটছে কিনা তা পরীক্ষা করতে চান।

ব্যবহার:

it("should throw an error", function() {
  function throwError() {
    throw new Error("Something went wrong");
  }
  expect(throwError).toThrow(new Error("Something went wrong"));  // এখানে একটি এরর ফেলা হবে
});

এখানে throwError ফাংশনটি একটি Error ফেলে এবং toThrow() matcher এর মাধ্যমে এররটি পরীক্ষিত হয়।

toBeTruthy() এবং toBeFalsy()

toBeTruthy() এবং toBeFalsy() matchers দুটি বিভিন্ন মান যাচাই করে। toBeTruthy() মানে এমন কিছু যা সত্য (truthy) হিসেবে বিবেচিত হয় এবং toBeFalsy() মানে এমন কিছু যা মিথ্যা (falsy) হিসেবে বিবেচিত হয়।

ব্যবহার:

it("should check truthy and falsy values", function() {
  expect(true).toBeTruthy();  // 'true' সত্যি মান হিসেবে গণ্য হবে
  expect(false).toBeFalsy();  // 'false' মিথ্যা মান হিসেবে গণ্য হবে
});

এখানে true কে সত্যি (truthy) এবং false কে মিথ্যা (falsy) হিসেবে গণ্য করা হয়েছে।

toBeGreaterThan() এবং toBeLessThan()

এই matchers দুটি ব্যবহার করা হয় যখন আপনি কোনো সংখ্যার মানের তুলনা করতে চান। toBeGreaterThan() চেক করে যে কোনো মান নির্দিষ্ট সংখ্যার চেয়ে বড় কিনা এবং toBeLessThan() চেক করে যে কোনো মান নির্দিষ্ট সংখ্যার চেয়ে ছোট কিনা।

ব্যবহার:

it("should check greater than and less than", function() {
  expect(10).toBeGreaterThan(5);  // ১০ হলো ৫ এর চেয়ে বড়
  expect(3).toBeLessThan(5);     // ৩ হলো ৫ এর চেয়ে ছোট
});

এখানে 10 এর চেয়ে 5 ছোট এবং 3 এর চেয়ে 5 বড় হওয়ায় টেস্ট দুটি পাস করবে।


সারাংশ

JasmineJS এর matchers বিভিন্ন ধরণের মান পরীক্ষা করার জন্য ব্যবহৃত হয়। কিছু সাধারণ matchers:

  • toBe(): গড়মান মানের সঠিকতা পরীক্ষা করে।
  • toEqual(): গভীর সমতা পরীক্ষা করে, যেমন অবজেক্ট বা অ্যারের মধ্যে সমতা।
  • toContain(): অ্যারে বা স্ট্রিং এ নির্দিষ্ট মান বা উপাদান পরীক্ষা করে।
  • toThrow(): কোনো ফাংশন এরর বা এক্সেপশন ফেলে কিনা পরীক্ষা করে।
  • toBeTruthy() এবং toBeFalsy(): সত্যি বা মিথ্যা মান পরীক্ষা করে।
  • toBeGreaterThan() এবং toBeLessThan(): সংখ্যা তুলনা করে বড় বা ছোট কিনা।
Content added By
Promotion

Are you sure to start over?

Loading...